<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客列表页</title>
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" href="css/blog-list.css">
    <!-- 引入jQuery -->
    <script src="jquery.min.js"></script>
</head>
<body>    
    <!-- 导航栏 nav 是导航整个次的缩写 -->
    <div class="nav">
        <!-- logo -->
        <img src="image/logo.png" alt="">
        <div class="title">我的博客系统</div>
        <!-- 只是一个空白，用来把后面的链接挤过去 -->
        <!-- 这是一个简单粗暴的写法 -->
        <div class="spancer"></div>
        <a href="blog_list.html">主页</a>
        <a href="blog_edit.html">写博客</a>
        <!-- 这里的地址回头在说 -->
        <a href="logout">注销</a>
    </div>

    <!-- 页面的主题部分 -->
    <div class="container">
        <!-- 左侧信息 -->
        <div class="container-left">
            <!-- 这个div表示整个用户信息的区域 -->
            <div class="card">
                <!-- 用户的头像 -->
                <img src="image/head_portrait.jpg" alt="">
                <!-- 用户名 -->
                <h3></h3>
                <!-- GitHub地址 -->
                <a href="https://www.github.com">github 地址</a>
                <!-- 统计信息 -->
                <div class="counter">
                    <span>文章</span>
                    <span>分类</span>
                </div>
                <div class="counter">
                    <span>2</span>
                    <span>1</span>
                </div>
            </div>

        </div>
        <!-- 右侧信息 -->
        <div class="container-right">
            
        </div>
    </div>
    
    <script>
        //通过ajax给服务器发请求，获取到所有的博客数据，并且构造到页面上。
        function getBlogs(){
            $.ajax({
                type:'get',  //这是请求的方法
                url:'blog',  //这是请求的路径
                success:function(body){
                    //根据返回的响应数据，构造出页面中对应的元素
                    //由于返回的响应的数据是一个application/json,所以jQuery自动的将字符串转化为了数组对象
                    let containerRight = document.querySelector('.container-right')
                    for(let blog of body){
                        //拿到的body数据可以当作数组来使用的
                        let blogDiv = document.createElement("div");
                        blogDiv.className = 'blog';
                        let titleDiv = document.createElement("div");
                        titleDiv.className = 'title';
                        titleDiv.innerHTML = blog.title;
                        let dateDiv = document.createElement('div');
                        dateDiv.className = 'date';
                        dateDiv.innerHTML = blog.postTime;
                        let descDiv = document.createElement("div");
                        descDiv.className = 'desc';
                        descDiv.innerHTML = blog.content;
                        let a = document.createElement("a");
                        a.href = 'blog_detail.html?blogId=' + blog.blogId;
                        a.innerHTML = '查看全文 &gt;&gt;';
                        //把上述标签构造好了之后，还需要组合起来
                        blogDiv.appendChild(titleDiv);
                        blogDiv.appendChild(dateDiv);
                        blogDiv.appendChild(descDiv);
                        blogDiv.appendChild(a);
                        containerRight.appendChild(blogDiv);
                    }
                }
            });
        }
        getBlogs();
        function getLoginStatus(){
            $.ajax({
                type:'get',
                url:'login',
                success:function(body){
                    //响应返回200的时候，执行success回调函数
                    //用户已经登录，不用进行任何操作
                    console.log("用户已经登录");
                    //把返回的用户名，设置到页面中。
                    let h3 = document.querySelector('.card h3');
                    //这里的body是一个js对象，就是前面服务器返回的json格式的user对象
                    h3.innerHTML = body.username;
                },
                error:function(body){
                    //只要返回的不是2开头的状态码，都会触发error回调函数
                    //assign方法用来跳转到login.html主页
                    location.assign("login.html");
                }
            })
        }
        
        //判定用户的登录状态
        getLoginStatus();
    </script>
</body>
</html>